const { CommonErrStatus } = require('../utils/error')
const { RespError, RespData } = require('../utils/resp')
const { base64ToImage } = require('../utils/file')
const { Query } = require('../utils/query')
class CommonServices {

  /**
   * 文件上传的处理，目前只处理图片上传。（TODO：后期文件上传完善后，可以考虑合并在一起）
   */
  // 图片上传接口 —— 将图片的 base64 编码字符串传给后端，后端将文件存在服务器后再将文件 URL 返回
  async upload (ctx, next) {
    let { body } = ctx.request
    try {
      const filePath = base64ToImage(body.name, body.base64)
      const results = {
        filePath
      }
      return RespData(ctx, results)
    } catch (err) {
      return RespError(ctx, CommonErrStatus.SERVER_ERR)
    }
  }

  // 分类
  async getClassifyList (ctx, next) {
    try {
      // 构建查询SQL语句
      const listSql = `SELECT
        product_classify.classify_id AS value, 
        product_classify.title AS label
      FROM
        product_classify
      WHERE
        product_classify.status = 0
      ORDER BY
        product_classify.create_time ASC`
      // 执行查询
      let listResult = await Query(listSql)
      let data = {
        rows: listResult,
      }
      return RespData(ctx, data)
    } catch (err) {
      console.log('err', err)
      return RespError(ctx, CommonErrStatus.SERVER_ERR)
    }
  }
}

module.exports = new CommonServices()
